1. Field of the Invention
The present invention generally relates to a method and apparatus for test management and more particularly to a test management method and system providing intelligent load balancing and enhanced scheduling capabilities.
2. Description of the Related Art
Test management systems typically include one or more components implemented in a single system or multiple systems. The components include a test case code repository, execution agents that allow tests to be executed on remote systems, the notion of a test plan and or schedule, which defines properties such as which tests to run, which environments, and when to run the tests, and execution records, which retain information related to the results of executed test cases.
Automated Built and Test (ABAT) is a server-client principle where the server provides a web-GUI where jobs can be submitted. The client runs on the hardware where the jobs are done. These submitted jobs define, for example, a test case and a machine where the job must be executed. ABAT is a framework, which provides sequential run-possibilities on a single hardware.
Grid Access Manager software delivers a virtualization and data-protection layer that creates a unified, fixed-content storage interface across multiple facilities and heterogeneous storage hardware.
A problem in the test of a product that is available on multiple platforms is to fulfill the coverage within a short time frame.
For example, consider that a product is available for xLinux and a test bucket consists of 20 test cases, which need to pass in order to ship the product. Accordingly, there are 20 test cases for one platform. A platform can run with different operating systems (e.g. SLES 9/10 and RIEL 4/5). That means there 80 (4×20=80) test cases. A platform can operate in 32 & 64 bit modes. Accordingly, 2×80=160 test cases. Furthermore, on each operating system three file systems are supported for which each test must be executed against. Accordingly, there are 480 (3×160=480) test cases. Therefore, there is a growth from 20 to 480 test cases.
To test such a huge amount of test cases, multiple hardware of each platform must be available regularly. The selection of a corresponding hardware and the initial setup is very time consuming with such a set of hardware. It is necessary to have an automated process, which, on the one hand, selects the corresponding hardware and, on the other hand, balances the load of a set of test cases to several hardware which is multiple available. That is, the process must be able to divide and distribute one bucket to several machines, which spares time to complete and fulfill coverage.
There is a need for a system which manages the execution of a very complex test schedule against a farm of test systems.